import Mock from 'mockjs'
// qs是讲查询字符串转换为对象  这是node内置的包
import qs from 'qs'

// 基本配置
Mock.setup({
  // 随机延时500-1000毫秒 模拟网络延时
  timeout: '500-1000'
})

// 拦截接口  /my/test
// 1. 接口地址路径规则  需要匹配它
// 2. 请求的方式
// 3. 返回数据（函数返回数据）
// 用正则的方式写路径规则  不然匹配不到
Mock.mock(/\/my\/test/, 'get', () => {
  const arr = []
  // 随机数据逻辑  目标 5条数据[{id:'', name:''}...]
  for (let i = 0; i < 5; i++) {
    arr.push(Mock.mock({
      id: '@id',
      name: '@name'
    }))
  }
  return { mag: '数据获取成功', result: arr }
})

Mock.mock(/\/member\/collect/, 'get', (config) => { // config是默认传参 可以得到前端传递过来的参数
  const queryString = config.url.split('?')[1]
  const queryObject = qs.parse(queryString)
  const items = []
  for (let i = 0; i < queryObject.pageSize; i++) {
    items.push(Mock.mock({
      id: '@id',
      name: '@ctitle(10,20)',
      desc: '@ctitle(4,10)',
      price: '@float(100,200,2,2)',
      picture: `http://zhoushugang.gitee.io/erabbit-client-pc-static/uploads/clothes_goods_${Mock.mock('@integer(1,8)')}.jpg`
    }))
  }
  return {
    msg: '获取收藏商品成功',
    result: {
      counts: 35,
      pageSize: +queryObject.pageSize,
      page: +queryObject.page,
      items
    }
  }
})
